home *** CD-ROM | disk | FTP | other *** search
- global allTogether, fit, piecesParts, allPieces, totalPieces, tolerance, stageWide, stageTall, saved, completePreviewLoc, start, puzzShape, puzzPicFile, puzzCrop, currentPuzzle, puzzShading, puzzFolder, stageStart, puzzleRect, totalSteps, puzzpicrotation, puzzleImageRect, zoomScale, difficulty, previewSprite
-
- on abortPuzzle
- cursor(4)
- thisSprite = 2
- repeat while thisSprite <= 160
- set the puppet of sprite thisSprite to 0
- sprite(thisSprite).visible = 1
- thisSprite = 1 + thisSprite
- end repeat
- initPuzzler()
- cursor(0)
- abort()
- end
-
- on stopPuzzle
- cursor(4)
- thisSprite = 2
- repeat while thisSprite <= 160
- set the puppet of sprite thisSprite to 0
- sprite(thisSprite).visible = 1
- thisSprite = 1 + thisSprite
- end repeat
- updateStage()
- resetPreview()
- end
-
- on slicedice
- cursor(4)
- totalSteps = 100
- eachStep = 100 / float(totalPieces)
- firstMask = the number of member (string(puzzShape) & totalPieces) - 1
- thisMember = 1
- repeat while thisMember <= totalPieces
- erase(member(thisMember))
- thisMember = 1 + thisMember
- end repeat
- thisMember = 1
- repeat while thisMember <= totalPieces
- new(#bitmap, member(thisMember))
- thisMember = 1 + thisMember
- end repeat
- progressStep = 244 / float(totalPieces)
- thisPiece = 1
- repeat while thisPiece <= totalPieces
- member("puzzpic" & string(puzzShape)).duplicate(thisPiece)
- member(thisPiece).name = EMPTY
- member(thisPiece).image.copyPixels(member(firstMask + thisPiece).image, member("puzzpic" & string(puzzShape)).rect, member("puzzpic" & string(puzzShape)).rect, [#color: 0, #ink: 1])
- member(thisPiece).image = member(thisPiece).image.trimWhiteSpace()
- sprite(263).width = max(1, progressStep * thisPiece)
- updateStage()
- thisPiece = 1 + thisPiece
- end repeat
- updateStage()
- return 1
- end
-
- on getPreviewRect
- cursor(0)
- cursor(4)
- puzzWide = member(221).width
- puzzTall = member(221).height
- if (puzzWide / float(puzzTall)) >= (4 / 3.0) then
- previewTall = 180
- previewWide = 180 / float(puzzTall) * puzzWide
- else
- previewWide = 240
- previewTall = 240 / float(puzzWide) * puzzTall
- end if
- previewLeft = 0
- previewRight = previewWide
- previewTop = 0
- previewBottom = previewTall
- return rect(previewLeft, previewTop, previewRight, previewBottom)
- cursor(0)
- end
-
- on makeSavedPuzzle changeDifficulty
- cursor(4)
- progressDialog()
- thisSprite = 2
- repeat while thisSprite <= 221
- sprite(thisSprite).visible = 0
- thisSprite = 1 + thisSprite
- end repeat
- thisSprite = previewSprite - 5
- repeat while thisSprite <= previewSprite
- sprite(thisSprite).visible = 0
- thisSprite = 1 + thisSprite
- end repeat
- updateStage()
- case the runMode of
- "projector":
- setupInfo = getPuzzleFileIO(getOSDirectory() & currentPuzzle & ".txt")
- "author":
- setupInfo = getPuzzleFileIO(getOSDirectory() & currentPuzzle & ".txt")
- "plugin":
- setupInfo = getPref(currentPuzzle & ".txt")
- end case
- if not voidp(setupInfo) and not changeDifficulty then
- the itemDelimiter = TAB
- difficulty = value(item 11 of setupInfo)
- end if
- puzzShape = value("#" & word 1 of the name of member 221)
- if changeDifficulty then
- totalPieces = value(word difficulty + 1 of the name of member 221)
- else
- if voidp(difficulty) then
- difficulty = 2
- end if
- if voidp(totalPieces) then
- totalPieces = value(word difficulty + 1 of the name of member 221)
- end if
- end if
- newPicRect = member(string(puzzShape) & string(totalPieces)).rect
- newPic = new(#bitmap, member(1))
- picBlank = image(newPicRect[3], newPicRect[4], 32)
- picBlank.fill(0, 0, newPicRect[3], newPicRect[4], rgb(255, 0, 0))
- member(1).image = picBlank
- member(1).image.copyPixels(member(221).image, member(string(puzzShape) & totalPieces).rect, member(221).rect)
- member("complete" & string(puzzShape)).media = member(1).media
- makePuzzpic()
- member("puzzpic" & string(puzzShape)).image = member(1).image
- makePreview()
- member(totalPieces + 1).media = member(1).media
- member(totalPieces + 1).name = "preview"
- if slicedice(0) then
- cursor(4)
- thisSprite = 2
- repeat while thisSprite <= 221
- set the puppet of sprite thisSprite to 0
- set the ink of sprite thisSprite to 8
- thisSprite = 1 + thisSprite
- end repeat
- sprite(1).visible = 1
- updateStage()
- go("initpuzzle")
- set the stageColor to the stageColor
- puzzPicFile = EMPTY
- cursor(0)
- end if
- member(totalPieces + 2).media = member("complete" & string(puzzShape)).media
- member(totalPieces + 2).name = "complete"
- member(totalPieces + 3).media = member("allTogether" & string(puzzShape) & string(totalPieces)).media
- member(totalPieces + 3).name = "allTogether"
- member(totalPieces + 4).media = member("puzzleLayout" & string(puzzShape) & string(totalPieces)).media
- member(totalPieces + 4).name = "puzzleLayout"
- thisSprite = 220
- repeat while thisSprite <= 221
- sprite(thisSprite).visible = 1
- thisSprite = 1 + thisSprite
- end repeat
- clearDialog()
- end
-
- on makePreview
- previewRect = getPreviewRect()
- newPreview = new(#bitmap, member(1))
- previewBlank = image(previewRect[3], previewRect[4], 32)
- previewBlank.fill(0, 0, previewRect[3], previewRect[4], rgb(255, 0, 0))
- member(1).image = previewBlank
- member(1).image.copyPixels(member("complete" & string(puzzShape)).image, member(1).rect, member("complete" & string(puzzShape)).rect)
- member(1).regPoint = point(member(1).width / 2, member(1).height / 2)
- end
-
- on makePuzzpic
- newPuzzpic = member("complete" & string(puzzShape)).duplicate(1)
- member(1).name = EMPTY
- member(1).image.copyPixels(member("hilite" & string(puzzShape) & totalPieces).image, member(1).rect, member(1).rect, [#ink: 33])
- member(1).image.copyPixels(member("shadow" & string(puzzShape) & totalPieces).image, member(1).rect, member(1).rect, [#ink: 35])
- member(1).image.copyPixels(member("complete" & string(puzzShape)).image, member(1).rect, member(1).rect, [#blend: 60, #ink: 32])
- member(1).image.copyPixels(member("offWhiteMatte" & string(puzzShape) & totalPieces).image, member(1).rect, member(1).rect, [#ink: 39])
- end
-
- on setDifficulty
- difficulties = member(221).name.word[2] && "Pieces" & RETURN & member(221).name.word[3] && "Pieces" & RETURN & member(221).name.word[4] && "Pieces"
- put difficulties into member "difficulties"
- member("jigsawMenu acdefghjkln").image.copyPixels(member("difficulties").image, rect(17, 144, 92, 193), rect(0, 0, 75, 48), [#ink: 0])
- member("jigsawMenu adefghjkln").image.copyPixels(member("difficulties").image, rect(17, 144, 92, 193), rect(0, 0, 75, 48), [#ink: 0])
- end
-
- on clearDifficulty
- member("jigsawMenu acdefghjkln").image.fill(17, 144, 92, 193, rgb(238, 238, 238))
- member("jigsawMenu adefghjkln").image.fill(17, 144, 92, 193, rgb(238, 238, 238))
- end
-